package com.symone.webcms.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 *   @description : Module 实体类
 *   ---------------------------------
 * 	 @author Archer Chu
 *   @since 2019-01-09
 */
@Data
@Accessors(chain = true)
@TableName("sys_module_table")
public class Module extends Model<Module> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Long id;
	private String name;
	private String code;
    /**
     * 类型(1,单页;2,列表）
     */
	@ApiModelProperty("类型(1,单页;2,列表）")
	private Integer type;
	/**
	 * 列表视图
	 */
	@ApiModelProperty("列表视图")
	@TableField("list_view")
	private String listView;
	/**
	 * 列表视图
	 */
	@ApiModelProperty("字段分组")
	@TableField("tabs")
	private String tabs;
	/**
	 * 列表页
	 */
	@ApiModelProperty("列表页")
	@TableField("list_api")
	private String listApi;
	/**
	 * 内容页
	 */
	@ApiModelProperty("内容页")
	@TableField("get_api")
	private String getApi;
    /**
     * 状态（1启用；0不启用）
     */
	@ApiModelProperty("状态（1启用；0不启用）")
	private Integer status;
    /**
     * 是否是系统
     */
	@ApiModelProperty("是否是系统")
	@TableField("is_system")
	private Integer isSystem;
	private Integer deleted;
	@TableField("create_user")
	private String createUser;
	@TableField("update_user")
	private String updateUser;
	@TableField("create_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;
	@TableField("update_time")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }
}
